package com.sanbi.erp.core.config;

import com.github.houbb.property.annotation.PropertyField;
import com.sanbi.common.config.IntegerValueConverter;
import lombok.Data;

/**
 * @author wanggang
 * @desc 系统错误码配置类
 * @time 2022/8/9 18:46
 */
@Data
public class ErrorCodeConfig {
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer badReqArgumentCode;
    private String badReqArgumentMsg;
    //系统内部异常
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer seriousCode;
    private String seriousMessage;

    // 验证码未过期，5分钟内不能重复发送
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer codeNotOverTimeCode;
    private String codeNotOverTimeMessage;
    // 验证码输入错误
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer emailVerificationCodeWrongCode;
    private String emailVerificationCodeWrongMessage;
    // 新密码与原密码不能一致
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer newPasswordOldNotFitCode;
    private String newPasswordOldNotFitMessage;
    // 昵称已经注册
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer nickNameRegisteredCode;
    private String nickNameRegisteredMessage;
    // 邮箱号不存在
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer userAuthNotEmailCode;
    private String userAuthNotEmailMessage;
    // 账号密码不对
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer userAuthInvalidPasswordCode;
    private String userAuthInvalidPasswordMessage;
    // 密码错误
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer payPasswordErrorCode;
    private String payPasswordErrorMessage;
    // 密码错误
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer payPasswordErrorTwoCode;
    private String payPasswordErrorTwoMessage;
    // 邮箱已注册
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer emailRegisteredCode;
    private String emailRegisteredMessage;
    // 邮箱格式不正确
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer emailFormatFailCode;
    private String emailFormatFailMessage;
    // 验证码未超时10分钟不能发送
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer emailVerificationCode;
    private String emailVerificationMessage;
    // 验证码错误
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer emailVerificationFailCode;
    private String emailVerificationFailMessage;
    // 账户已存在不能重复注册
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer userEmailPasswordIsExistCode;
    private String userEmailPasswordIsExistMessage;

    // CRUD 通用错误信息捕获
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer insertUnsuccessfulCode;
    private String insertUnsuccessfulMessage;
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer deleteUnsuccessfulCode;
    private String deleteUnsuccessfulMessage;
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer updateUnsuccessfulCode;
    private String updateUnsuccessfulMessage;
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer selectUnsuccessfulCode;
    private String selectUnsuccessfulMessage;

    // sku不正确
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer authInvalidPasswordCode;
    private String authInvalidPasswordMessage;
    // sku不存在
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer skuNotCode;
    private String skuNotMessage;
    // 类目被商品使用无法删除
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer categoryNotDeleteCode;
    private String categoryNotDeleteMessage;

    // 类目名称重复
    @PropertyField(converter = IntegerValueConverter.class)
    private Integer categoryNameRepetitionCode;
    private String categoryNameRepetitionMessage;

}
